package com.singfan.common.db.provider;

import com.singfan.common.db.config.Database;
import com.singfan.common.db.config.MonitorLog;
import com.singfan.common.db.config.Table;

import java.util.List;

/**
 * 数据库配置信息提供类
 * Author: HanSongHe
 * Date: 15-7-1 上午11:35
 */
public abstract class DbConfigProvider {
    /**
     * 初始化
     */
    public abstract void init();

    /**
     * 获取存储配置信息的数据库id
     * @return
     */
    public abstract String getConfigDatabaseId();

    /**
     * 获取数据库配置信息列表
     * @return
     */
    public abstract List<Database> getDataBaseList();

    /**
     * 获取数据库表的配置信息
     * @param tableName 数据库表的名字
     * @return 数据库表的配置信息
     */
    public abstract Table getTable(String tableName);

    /**
     * 获取数据库监控日志的配置信息
     * @return 数据库监控日志的配置信息
     */
    public abstract MonitorLog getMonitorLog();
}
